Unification Of Simply Typed Lambda-Terms As Logic Programming
نویسنده
چکیده
The unification of simply typed λ-terms modulo the rules of ßand η-conversions is often called "higherorder" unification because of the possible presence of variables of functional type. This kind of unification is undecidable in general and if unifiers exist, most general unifiers may not exist. In this paper, we show that such unification problems can be coded as a query of the logic programming language Lλ in a natural and clear fashion. In a sense, the translation only involves explicitly axiomatizing in Lλ the notions of equality and substitution of the simply typed λ-calculus: the rest of the unification process can be viewed as simply an interpreter of Lλ searching for proofs using those axioms. Comments University of Pennsylvania Department of Computer and Information Science, Technical Report No. MSCIS-91-24. This technical report is available at ScholarlyCommons: http://repository.upenn.edu/cis_reports/446 Unification Of Simply Typed Lambda-Terms As Logic Programming MS-CIS-91-24 LINC LAB 198
منابع مشابه
Unification of Simply Typed Lamda-Terms as Logic Programming
The unification of simply typed λ-terms modulo the rules of ßand η-conversions is often called "higherorder" unification because of the possible presence of variables of functional type. This kind of unification is undecidable in general and if unifiers exist, most general unifiers may not exist. In this paper, we show that such unification problems can be coded as a query of the logic programm...
متن کاملOn Logic Programming Representations of Lambda Terms: de Bruijn Indices, Compression, Type Inference, Combinatorial Generation, Normalization
We introduce a compressed de Bruijn representation of lambda terms and define its bijections to standard representations. Compact combinatorial generation algorithms are given for several families of lambda terms, including open, closed, simply typed and linear terms as well as type inference and normal order reduction algorithms. We specify our algorithms as a literate Prolog program. In the p...
متن کاملNominal Anti-Unification
Equation solving between nominal terms has been investigated by several authors, who designed and analyzed algorithms for nominal unification [3, 4, 15, 26], nominal matching [5], equivariant unification [6], permissive nominal unification [8]. However, in contrast to unification, its dual problem, anti-unification, has not been studied for nominal terms previously. In [18], it is referred to a...
متن کاملA Hiking Trip Through the Orders of 1 Magnitude : Deriving Efficient Generators for 2 Closed Simply - Typed Lambda Terms and 3 Normal Forms
Contrary to several other families of lambda terms, no closed 9 formula or generating function is known and none of the sophisticated 10 techniques devised in analytic combinatorics can help with counting or 11 generating the set of simply-typed closed lambda terms of a given size. 12 Moreover, their asymptotic scarcity among the set of closed lambda 13 terms makes counting them via brute force...
متن کاملA Hiking Trip Through the Orders of Magnitude: Deriving Efficient Generators for Closed Simply-Typed Lambda Terms and Normal Forms
Contrary to several other families of lambda terms, no closed formula or generating function is known and none of the sophisticated techniques devised in analytic combinatorics can currently help with counting or generating the set of simply-typed closed lambda terms of a given size. Moreover, their asymptotic scarcity among the set of closed lambda terms makes counting them via brute force gen...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1991